| Python (Programmiersprache) | Dieser Text beschreibt Python (Programmiersprache). Der untere Text beinhaltet die Python (Programmiersprache) Beschreibung. Soweit es sich um ein definierbares Objekt handelt, sollte hier eine Python (Programmiersprache) Definition vorhanden sein. Sollte eine Definition von Python (Programmiersprache) fehlen, kann diese von Ihnen verfaßt werden. Wir sind bestrebt die Beschreibung von Python (Programmiersprache) möglichst ausführlich zu halten.
Jeder Text bei Know-Library, sowie ein Teil davon (Definition, Beschreibung etc.), außer Bücher Beschreibungen kann bearbeitet werden. Falls die Beschreibung auf dieser Seite nicht korrekt ist klicken Sie auf 'Beschreibung editieren' um den Text zu korrigieren bzw. neuen einzufügen. Weitere Informationen und Bücher zum Thema Python (Programmiersprache) Beschreibung , so wie Link zum Forum finden Sie weiter unten. Eine Übersicht der Texte, die das Thema Python (Programmiersprache) beschreiben finden Sie auf der Seite alle Artikel über Python (Programmiersprache). Fragen zu dem Thema Python (Programmiersprache) können im Forum gestellt werden. Klicken Sie hier um zu dem Forum zu wechseln.
Python (Programmiersprache) ArtikelPython ist eine plattformunabhängige, interpretierende und objektorientierte Programmiersprache.
Sie wurde Anfang der 90er Jahre von Guido van Rossum am Centrum voor Wiskunde en Informatica in Amsterdam entwickelt, ursprünglich für das verteilte Betriebssystem Amoeba.
Den Namen erhielt die Sprache nach der englischen Comedy-Truppe Monty Python.
Buch-Tipp: Big Shots Wie BUNTE-lesen auf höchstem Ästhetik-Niveau!! Ein wundervolles Buch voller umwerfender "Promi"-Bilder; jedes einzigartig und stets wieder überraschend anders. Glücklich, diese tolle Frau einmal live erlebt zu haben, freue ich mich umso mehr, ihre unvergleichliche Persönlichkeit aus jedem einzelnen ihrer Werke herausstrahlen zu sehen. | |
Python wurde mit dem Absicht entworfen möglichst einfach und übersichtlich zu sein. Dies wird durch zwei Dinge erreicht: Zu dem einen enthält die Sprache einen sehr mächtigen Funktionsumfang in ca. wenigen Schlüsselwörtern, zu dem anderen wurde die grammatische Syntax reduziert und auf Übersichtlichkeit optimiert. Dies führt dazu, dass Python eine Sprache ist, in der man schnell, einfach und leicht programmieren kann. Sie ist daher besonders da geeignet, wo Übersichtlichkeit und Lesbarkeit des Codes eine herausragende Rolle spielen - z.B. in der Teamarbeit, wenn man sich Code nach längerer Zeit wieder anschaut, oder bei Anfängern des Programmierens.
Durch die Möglichkeit, Programme auch anderer Sprachen als Modul einzubetten, werden viele Nischen in der Programmierung abgedeckt. Bei Bedarf lassen sich schnellere Routinen maschinennah programmieren, oder Python kann als Script-Sprache eines anderen Programmes dienen (Beispiele: OpenOffice und Gimp ).
Python ist eine Sprache, die den Programmierer nicht zu einem einzigen bestimmten Programmierstil zwingt. Unterstützt werden sowohl objektorientierte und strukturierte als auch funktionale Programmierung. Die Datentypen werden dynamisch verwaltet; eine statische Typprüfung (wie z.B. bei C++) gibt es nicht. Die Verwaltung frei gewordenen Speicherplatzes erfolgt automatisch durch so genannte Garbage collection.
Im Vergleich mit der Programmiersprache Perl fällt bei Python besonders auf, dass die Syntax möglichst einfach und damit besser les- und wartbar gestaltet wurde. Obwohl Python als "Skriptsprache" die Einfachheit betont, sind damit eine Reihe großer Softwareprojekte bewältigt worden. Ein Beispiel ist der Zope-Application Server sowie das Dateisystem Mojo Nation .
|
Datentypen und Strukturen | |
Python besitzt eine größere Anzahl von grundlegenden Datentypen.
Neben der herkömmlichen Ganzzahl- und Fließkommaarithmetik unterstützt es transparent auch beliebig große Ganzzahlen und komplexe Zahlen.
Es verfügt über den üblichen Zierrat an Zeichenkettenoperationen, allerdings mit einer Besonderheit: Zeichenketten sind in Python unveränderliche Objekte.
Damit führen Operationen, die das Ändern einer Zeichenkette bewerkstelligen sollen - wie z.B. die Ersetzung von Zeichen - dazu, dass stattdessen eine neue Zeichenkette zurückgegeben wird.
In Python ist der Datentyp an den Wert gebunden und nicht an eine Variable, d.h. Datentypen werden dynamisch vergeben, so wie bei LISP - und nicht wie bei Java. Alle Werte werden per Referenz übergeben.
Trotz der dynamischen Typverwaltung enthält Python eine gewisse Typprüfung. Diese ist strenger als bei Perl, aber weniger strikt als bei Objective CAML.
Implizite Umwandlungen sind für numerische Typen definiert, so dass man beispielsweise eine komplexe Zahl mit einer langen Ganzzahl ohne explizite Typumwandlung multiplizieren kann.
Anders als bei Perl allerdings gibt es keine implizite Umwandlung zwischen Zahlen und Zeichenketten; in Operationen für Zeichenketten kann also anstelle einer Zeichenkette nicht direkt eine Zahl benutzt werden.
Buch-Tipp: Bäder planen, einrichten, erleben. Tipps und Ideen, Materialien und Beispiele Garantiert für jeden etwas dabei Bei den vielfältigen Einrichtungsbeispielen wurde an alles gedacht; von ganz klaren Formen über klassische Naturfarben bis hin zu verspielten Badezimmern ist alles dabei. Hier findet garantiert jeder Anregungen, die er gerne in seinem Bad umsetzen würde. Dabei helfen zusätzlich die genauen Angaben zu den Herstellern... |
| |
Python besitzt mehrere Sammeltypen, darunter Listen, Tupel und Wörterbücher. Listen, Tupel und Zeichenketten sind Folgen (Sequenzen) und kennen fast alle die gleichen Methoden: Über die Zeichen einer Kette kann man ebenso iterieren wie über die Elemente einer Liste. Listen sind erweiterbare Felder (Arrays), wohingegen Tupel eine feste Länge haben und unveränderbar sind.
Der Zweck solcher Unveränderbarkeit hängt mit den Wörterbüchern (Dictionaries) zusammen, ein Datentyp, der auch als Hashtabelle oder assoziatives Array genannt wird.
Um auch unter den Bedingungen der Übergabe per Referenz die Datenkonsistenz zu sichern, müssen die Schlüssel eines Wörterbuches vom Typ "unveränderbar" sein. Die in das Wörterbuch eingetragenen Werte können dagegen von beliebigem Typ sein.
Buch-Tipp: Close Up Außergewöhnlich Eine außergewöhnliche Sammlung, die in diesem Band zusammen gestellt wurde. Jedes Portrait ist seine eigene Studie wert. Man sieht, wer sich öffnet und wer nicht, wer sich unbedarft vor dem Fotographen platzierte und wer lange brauchte, bevor Martin Schoeller knipsen durfte. Ein Buch für alle, die Freude an schönen Bildern... |
| |
Das Typsystem von Python ist auf das Klassensystem abgestimmt.
Obwohl die eingebauten Datentypen exakt genommen nicht eigentlich Klassen sind, können Klassen von einem Typ erben.
So kann man die Merkmale von Zeichenketten oder Wörterbüchern erweitern - und sogar auch von Ganzzahlen, falls man das möchte.
Python unterstützt auch Mehrfachvererbung.
Die Sprache unterstützt direkt den Umgang mit Typen und Klassen. Typen können ausgelesen (ermittelt) und verglichen werden - in Wirklichkeit sind die Typen (wie in Smalltalk) selbst ein Typ.
Die Attribute eines Objektes können als Wörterbuch extrahiert werden.
Buch-Tipp: Die Autobiografie von Monty Python Kein Titel Das Buch ist sehr groß ,sehr farbig - in dem Gegensatz zu den anderen Büchern ÜBER die Pythons - und es ist wirklich sehr ,ja sehr ,sehr schön . Und : man braucht (fast) kein Wort English zu können ,um es"verstehen" zu können . Aber : es fehlt eine Bibliographie ,richtige Disco- undFilmografien ,vor allem aber jede Aufklärung darüber... |
| |
Python wurde so entworfen, dass es gut lesbar ist.
Die Anweisungen sind übersichtlich anzuordnen, benutzen häufig englische Schlüsselwörter, wo andere Sprachen Interpunktionszeichen benutzen und dazu besitzt Python spürbar weniger syntaktische Konstruktionen als viele strukturierte Sprachen wie C, Perl oder Pascal.
Z.B. kennt Python ca. zwei Schleifenformen - for zur Iteration über die Elemente einer Liste und while zur Wiederholung einer Schleife so lange, wie ein logischer Ausdruck wahr ist.
Es hat also weder das verwickelte for oder das do...while von C, noch Perls until, obwohl die entsprechenden Äquivalente natürlich ausgedrückt werden können.
Und exakt so hat es für Verzweigungen auch ca. die Konstruktion if...elif...else und kein switch oder goto zu Sprungzielen.
Buch-Tipp: Die Gattung Boa. Taxonomie und Fortpflanzung Dieses Werk setzt Maßstäbe Lange habe ich auf dieses Buch gewartet und ich muss sagen, das Warten hat sich mehr als gelohnt. Es ist in meinen Augen mit Sicherheit das beste und umfassendste Werk über die Gattung Boa, das in deutscher Sprache bisher erschienen ist: 262 Seiten, prall gefüllt mit Informationen über diese faszinierenden Tiere.
Im... |
Die Sache mit den Leerzeichen | |
Am ehesten ungewohnt an der Python-Syntax ist die Art und Weise, wie die Grenzen von Blockstrukturen gekennzeichnet werden.
Viele Programmierer, die noch nie eine Zeile Python-Code geschrieben haben, kennen diese "Sache mit den Leerzeichen" vom Hörensagen, weil das ein deutlicher Unterschied zu herkömmlichen Sprachen ist.
Blockstrukturen, wie sie ursprünglich aus ALGOL stammen, werden z.B. in Sprachen wie Pascal, C und Perl benutzt, wobei die Blockgrenzen durch Klammern oder Schlüsselworte markiert werden (C und Perl benutzen beispielsweise { }; Pascal benutzt begin und end ).
In all diesen Sprachen gibt es dazu noch die Sitte, einen Block durch eine Einrückung zu kennzeichnen, damit er optisch von der Umgebung abgesetzt ist, die nicht zu dem Block gehört.
Python dagegen nimmt eine Anleihe bei der weniger bekannten Programmiersprache Occam auf - anstatt Satzzeichen oder Schlüsselworten benutzt es die Einrückungen selbst, um den Verlauf eines Blockes zu kennzeichnen.
Ein kurzes Beispiel macht das schnell klar.
Hier sind Funktionen in C und in Python, die das gleiche tun - die Fakultät einer Ganzzahl berechnen:
C:
int factorial(int x) {
if (x == 0) {
return(1);
} else {
return(x * factorial(x - 1));
}
}
Python:
def factorial(x):
if x == 0:
return 1
else:
return x * factorial(x - 1)
Manche Programmierer, die von ALGOL-beeinflussten Sprachen (unter anderen C, Pascal) her gewohnt sind, dass Leerzeichen keine Bedeutung haben, sind dadurch anfänglich etwas irritiert.
Es wurden auch schon Vergleiche zu dem Lochkarten-Format von Fortran gezogen: Die Formatfreiheit von Programmiersprachen galt einmal als Fortschritt, weil endlich das Symbol selbst die entscheidende Rolle spielte und nicht seine Position in der Zeile.
Für Python-Programmierer dagegen ist "die Sache mit den Leerzeichen" einfach eine Weiterführung des Einrückungs-Brauchs, dem ALGOL-Programmierer ohnehin stets gefolgt sind.
Ein Problem kann sich daraus ergeben: Wird ein Editor benutzt, der Tabulator-Zeichen in der Datei abspeichert, so kann eine Einrückung entstehen, die nicht der Blockstruktur entspricht, wenn in der selben Datei Einrückungen mit einfachen Leerzeichen vorkommen, da der Python-Interpreter davon ausgeht, dass ein Tabulator-Zeichen exakt acht Leerzeichen entspricht, auch wenn in der Datei z.B. mit vier einfachen Leerzeichen eingerückt wird.
Daher sollte man darauf achten, die Einrückungen in der gesamten Datei gleich zu gestalten. Es ist ratsam, ganz auf Tabulator-Zeichen zu verzichten, zumal die meisten Editoren so konfiguriert werden können, dass sie anstelle eines Tabulator-Zeichens eine definierte Anzahl Leerzeichen schreiben.
Buch-Tipp: Exploring Python Das Buch " Exploring Python" ist leider ohne Beschreibung. Klicken Sie auf den Link über diesem Text um zu der Seite des Buchhändlers zu gelangen. Beim Klicken ö ffnet sich automatich ein neues Fenster mit dem Entsprechenden Buch. |
Funktionales Programmieren | |
Erwähnt wurde bereits, dass Python auch über ausdrucksstarke syntaktische Elemente zur funktionalen Programmierung verfügt.
Wie schon zu vermuten war, vereinfachen diese das Arbeiten mit Listen und anderen Sammeltypen.
Eine solche Konstruktion ist die Listennotation, die aus der funktionalen Programmiersprache Haskell stammt; hier bei der Berechnung der ersten fünf Zweierpotenzen:
zahlen = [1, 2, 3, 4, 5]
hoch_zwei = [ 2 ** n for n in zahlen ]
Weil in Python Funktionen als Argumente auftreten dürfen, kann man auch ausgeklügeltere Konstruktionen ausdrücken, wie z.B. die Fortsetzungstechnik ("Continuation semantics" (http://www.ps.uni-sb.de/~duchier/python/continuations.html)).Pythons Schlüsselwort lambda könnte manche Anhänger der funktionalen Programmierung fehlleiten.
Solche lambda -Blöcke in Python können ca. Ausdrücke enthalten, aber keine Anweisungen.
Damit sind sie nicht der allgemeinst mögliche Weg, um eine Funktion zurückzugeben.
Die übliche Vorgehensweise ist stattdessen, eine Funktion einfach so zurückzugeben, indem man einen lokalen Namen benutzt, wie in dem folgenden Beispiel einer einfachen Funktion nach den Ideen von Haskell Brooks Curry:
def add_and_print_maker(x):
def temp(y):
print "%d + %d = %d" Prozent (x, y, x+y)
return temp
Buch-Tipp: Glücklich wohnen. Wohn-Wellness mit Feng Shui-Ideen Ein Buch das glücklich macht. . . . Hier geht es nicht so sehr um exakt Richtlinien, das muss da hin und das muss hier hin, sondern um das ganze Wohngefühl in dem Gesamten! Es springen einen vielleicht nicht gleich X Ideen an, aber man/frau ändert seine Grundhaltung und schon kann die eigene Inspiration richtig fliesen und dann kommt auch was raus,... |
| |
Python unterstützt (und nutzt ausgiebig) die Ausnahmebehandlung als ein Mittel, um Fehlerbedingungen zu testen. Dies ist so weit in Python integriert, dass es sogar möglich ist, Syntaxfehler abzufangen.
Ausnahmen erlauben einen bündigeren Fehlertest mit mehr Sicherheit als viele andere Verfahren, mit denen man Fehler oder Ausnahmezustände mitteilen kann. Ausnahmen sind Thread-sicher, sie führen nicht dazu, den Code durch den Test von Rückgabewerten zu verunstalten, wie das in C geschieht; und sie können sich leicht entlang der Aufruffolge hangeln, falls ein Fehler an eine höhere Programmebene gemeldet werden soll.
Der Python-Stil ermutigt zu dem Einsatz von Ausnahmen, wann stets eine Fehlerbedingung entstehen könnte.
Es ist tatsächlich so, dass es in Python z.B. anstelle eines vorherigen Dateitestes auf Beschreibbarkeit üblich ist, die Schreibfunktion einfach auszuprobieren und eine eventuelle Ausnahme abzufangen - falls der Zugriff verwehrt wird.
Außerdem nützlich ist dieses Prinzip bei der Konstruktion benutzersicherer Eingabeaufforderungen:
while True:
try:
num = raw_input("Eine Zahl eingeben: ")
num = int(num)
break
except ValueError:
print "Eine _Zahl_, bitte!"
Dieser Code wird den Benutzer so lange nach einer Nummer fragen, bis dieser einen String eingibt, der sich per int() in eine Ganzzahl konvertieren lässt, ohne dass ein Fehler auftritt.
|
| |
Python verfügt über eine große Standardbibliothek , wodurch es sich für viele Anwendungen gut eignet.
Die Module der Standardbibliothek können mit in C oder Python selbst geschriebenen Modulen ergänzt werden.
Die Standardbibliothek ist besonders auf Internet-Anwendungen zugeschnitten, mit der Unterstützung einer großen Anzahl von Standardformaten und -Protokollen (wie MIME und HTTP).
Module zur Schaffung grafischer Schnittstellen, zur Verbindung mit relationalen Datenbanken und zur Manipulation regulärer Ausdrücke sind ebenfalls enthalten.
Die Standardbibliothek ist eine der größten Stärken von Python.
Das meiste davon ist plattformunabhängig, so dass auch größere Python-Programme häufig auf Unix, Windows, Macintosh und anderen Plattformen ohne Änderung laufen.
Mit Hilfe des mitgelieferten Moduls Tkinter kann in Python (wie in Perl und Tcl) schnell eine grafische Oberfläche (GUI) mit Tk erzeugt werden. Es gibt eine Vielzahl anderer GUI-Bibliotheken, unter denen wxPython und PyQt am ausgereiftesten sind.
Buch-Tipp: Luxury Toys (Luxury) Was für Geld alles zu haben ist. . . Für alle, die die auch mal sehen wollen, wie die Superreichen leben, und mit wie viel Luxus man durch die Welt reisen kann, ist dieses Buch ein absolutes Muss.
Auf großen und wunderschönen Fotos werden die jeweils exklusivsten Arten der Fortbewegung aus den Bereichen Motoryacht, Segelyacht, PKW, Business-Jet... |
| |
So wie LISP - und Perl in dem Debugger - unterstützt der Python-Interpreter auch einen interaktiven Modus, im Ausdrücke am Terminal eingegeben und die Ergebnisse sofort betrachtet werden können.
Das ist nicht ca. für Neulinge angenehm, die die Sprache lernen, sondern genauso auch für erfahrene Programmierer: Code-Stückchen können interaktiv ausgiebig getestet werden, bevor man sie in ein geeignetes Programm aufnimmt.
Python ist für die meisten gängigen Betriebssysteme frei erhältlich und ist eine der drei Sprachen, die häufig in einer LAMP-Umgebung eingesetzt werden.
Buch-Tipp: Men Vertikal statt Horizontal! Grundsätzlich spricht ein Kalender dieser Art wohl ca. zwei bestimmte Absichtgruppen an. Eigentlich ist diese Tatsache traurig denn exakt wie das Buch "Men" von Stefan May bedient sich dieser Kalender keinerlei verstockter Klischees , sondern ist einfach ca. schön anzusehen. Welche Frau träumt nicht davon Monat... |
Weiteres zu dem Artikel Python (Programmiersprache) |
| Andere Leser interessierten sich auch für folgende Beschreibungen: | Programmierung, Python, Satzzeichen, Werte | | Schnellzugrif auf verwandte Texte: | | | NEU! Frage im Forum zum Thema: | | Wenn die Beschreibung 'Python (Programmiersprache)' Ihrer Meinung nach nicht korrekt ist oder in aktueller Version Fehler enthalten sind oder es fehlt die Python (Programmiersprache) Definition, dann klicken Sie bitte auf "Beschreibung bearbeiten" und schreiben Sie die Eigene Version des Textes. Die Änderungen in der Beschreibung werden sofort aktiv und für alle sichtbar. Ein Administrator wird Ihre Version der Beschreibung und Definition von 'Python (Programmiersprache)' nachher prüfen. Bitte achten Sie auf die Urheberrechte (Copyright). Wir sind für die besseren Beschreibung von 'Python (Programmiersprache)' und 'Python (Programmiersprache)' Definition sehr dankbar.
Alle Tipps zu den Bücher auf dieser Seite wurden automatisch generiert. D.h. die Bücher wurden aus einer Datenbank von dem Computer ausgesucht. Deshalb kann es vorkommen, dass vorgeschlagene Bücher nicht ganz der 'Python (Programmiersprache)' Beschreibung entsprechen.
|
|
· Diese Seite wurde bisher 1.857 mal abgerufen. · Letzte Counteraktualisierung erfolgte am 12.05.2008 um 03:02:25 · Diese Seite wurde zuletzt geändert um 12:25, 30. Sep 2004. · Letzte Portalaktualisierung erfolgte um 08:00:00 GMT, 25.02.2008
|